ALEGSA.com.ar

Definición de Translation Lookaside Buffer (TLB)

Significado de Translation Lookaside Buffer: El búfer de traducción anticipada de instrucciones o Translation Lookaside Buffer (TLB), es un caché de CPU que emplea el hardware de ...
25-06-2023

 


Definición de Translation Lookaside Buffer (TLB)

 

El búfer de traducción anticipada de instrucciones o Translation Lookaside Buffer (TLB), es un caché de CPU que emplea el hardware de administración de memoria (MMU) para mejorar la velocidad de traducción de direcciones virtuales.

Dada una dirección virtual, el procesador examina el búfer TLB:
• Si se encuentra la entrada de la tabla de página (hit), se lee el número del marco y se forma la dirección real.
• Si no se encuentra la entrada de la tabla de página (miss), el número de la página se usa como índice en la tabla de página del proceso.

Actualmente lo mayoría de los procesadores de computadoras (como x86) utilizan un TLB para mapear espacios de direcciones físicas y virtuales.

El búfer de traducción anticipada de instrucciones (TLB) es esencial en la arquitectura de los procesadores modernos, ya que permite mejorar significativamente la eficiencia y velocidad en la traducción de direcciones virtuales. Esto es especialmente importante en sistemas de memoria virtual, donde las direcciones virtuales son mapeadas a direcciones físicas.

El TLB es parte fundamental del hardware de administración de memoria (MMU), el cual se encarga de gestionar el mapeo entre las direcciones virtuales utilizadas por los programas y las direcciones físicas asociadas a la memoria RAM. Cuando se ejecuta un programa, el procesador necesita traducir las direcciones virtuales a direcciones físicas para poder acceder a los datos o instrucciones almacenados en la memoria.

El funcionamiento del TLB se basa en un principio básico de rapidez. Almacenando las traducciones de direcciones más frecuentemente utilizadas en un búfer de acceso rápido, se evita tener que realizar la búsqueda en la tabla de páginas en la memoria principal, lo que supone un ahorro significativo de tiempo.

Cuando se accede a una dirección virtual, el procesador busca en el TLB para verificar si ya existe una traducción almacenada. Si la traducción está presente en el TLB (hit), se utiliza directamente la dirección física correspondiente, evitando así el acceso a la tabla de páginas y acelerando el proceso de acceso a memoria. Por otro lado, si la traducción no está presente en el TLB (miss), el procesador debe buscar en la tabla de páginas para obtener la traducción correspondiente.

Es importante mencionar que el TLB tiene una capacidad limitada, ya que solo puede almacenar un número determinado de traducciones. Cuando el TLB está lleno y ocurre un miss, el procesador debe realizar una operación de reemplazo para liberar espacio y almacenar la nueva traducción. Esto se realiza utilizando algoritmos de reemplazo eficientes, como el algoritmo Least Recently Used (LRU), que descarta las entradas menos utilizadas en el TLB para dar lugar a las nuevas traducciones.

En resumen, el búfer de traducción anticipada de instrucciones (TLB) es una pieza clave en la arquitectura de los procesadores modernos, ya que permite acelerar el acceso a memoria al almacenar traducciones de direcciones virtuales frecuentemente utilizadas. Con el uso del TLB, se optimiza significativamente la velocidad de los sistemas de memoria virtual, mejorando la eficiencia y rendimiento de los programas en computadoras.


Operación del TBL en detalle



El TLB normalmente es implementado como una memoria de contenido direccionable (CAM). La clave de búsqueda CAM es la dirección virtual y el resultado de búsqueda es la dirección física.

Si la dirección requerida está presente en el TLB, entonces el CAM lo encuentra rápidamente y recibe la dirección física que puede ser utilizada para acceder a memoria (esto se llama TLB hit).

Si la dirección requerida no está presente en el TLB (fallo de página), entonces se procede a buscar en la tabla de paginación (llamado page walk). Este proceso es costoso, porque requiere leer en múltiples ubicaciones de memoria. Luego de que se determinada la dirección física a través del page walk, el mapeo de la dirección virtual hacia la física es ingresado en el TLB para su posible posterior uso.

Básicamente el búfer de traducción anticipada (TLB) contiene partes de la tabla de paginación, es decir, relaciones entre direcciones virtuales y reales. Posee un número fijo de entradas y se utiliza para obtener la traducción rápida de direcciones.

La TBL es habitualmente totalmente asociativa o asociativa por conjuntos, cuyas entradas contienen: en la parte de la etiqueta, el número de página virtual (o parte) y en la parte del dato, el número de página física y los bits de control

El TLB contiene las entradas de tablas de página que han sido usadas más recientemente.


Resumen: Translation Lookaside Buffer



El TLB es un caché de la CPU que ayuda a traducir direcciones virtuales a direcciones físicas de manera más rápida. Si encuentra la traducción en el TLB, la utiliza, pero si no la encuentra, busca en la tabla de páginas del proceso. La mayoría de los procesadores actuales utilizan TLB.




¿Cuál es la función principal del Translation Lookaside Buffer (TLB)?



El TLB tiene como función principal mejorar la velocidad de traducción de direcciones virtuales. Cuando un programa accede a una dirección virtual, el TLB busca en su caché la traducción correspondiente a la dirección física en cuestión. Si la traducción se encuentra en el TLB, se evita la necesidad de acceder a la tabla de páginas, lo que resulta en una mejora significativa en el rendimiento del sistema.


¿Cómo se actualiza el Translation Lookaside Buffer?



El TLB se actualiza automáticamente cada vez que se produce un cambio en la tabla de páginas. Cuando hay un cambio en la asignación de páginas virtuales a páginas físicas, el sistema operativo actualiza el TLB para reflejar estos cambios. Esto asegura que las traducciones almacenadas en el TLB sigan siendo válidas y precisas.


¿Qué sucede si una traducción no se encuentra en el Translation Lookaside Buffer?



Si una traducción no se encuentra en el TLB, se produce un fallo de página. En este caso, el sistema operativo debe acceder a la tabla de páginas para buscar la traducción correspondiente a la dirección virtual. Una vez encontrada, se actualiza el TLB con la nueva traducción y se reanuda la ejecución del programa.


¿Qué tamaño tiene típicamente el Translation Lookaside Buffer?



El tamaño del TLB varía dependiendo del diseño y la arquitectura de la CPU. En general, el TLB suele ser relativamente pequeño en comparación con la memoria principal. Puede tener un tamaño que va desde unos pocos kilobytes hasta algunos megabytes. Un TLB más grande puede almacenar más traducciones, lo que reduce la probabilidad de fallos de página.


¿Cuál es la relación entre el Translation Lookaside Buffer y la administración de memoria?



El TLB es un componente de la unidad de administración de memoria (MMU) de una CPU. La MMU se encarga de realizar las traducciones entre las direcciones virtuales utilizadas por los programas y las direcciones físicas correspondientes en la memoria principal. El TLB, al almacenar las traducciones más frecuentes, acelera este proceso al evitar accesos innecesarios a la tabla de páginas.


¿Qué sucede si se produce un fallo en el Translation Lookaside Buffer?



Si se produce un fallo en el TLB, significa que la traducción requerida no se encuentra en su caché. En este caso, es necesario acceder a la tabla de páginas para obtener la traducción correspondiente. Esto implica un mayor tiempo de acceso a la memoria y puede ocasionar una disminución en el rendimiento del sistema. Sin embargo, los fallos en el TLB son relativamente infrecuentes y su impacto no suele ser significativo en la mayoría de los sistemas.

Tecnologías empleadas en CPUs
• Arquitectura
Harvard (Modified Harvard)
• von Neumann
• Dataflow
• TTA
• Conjunto de instrucciones
• ASIP
CISC
• EDGE
• EPIC
• MISC
MIPS
• NISC
• OISC
RISC
• TRIPS
• VLIW
• ZISC
Tamaño de palabra (word)
• 1 bit • 4 bit8 bit • 9 bit • 10 bit • 12 bit • 15 bit • 16 bit • 18 bit • 22 bit • 24 bit • 25 bit • 26 bit • 27 bit • 31 bit • 32 bit • 33 bit • 34 bit • 36 bit • 39 bit • 40 bit • 48 bit • 50 bit • 60 bit • 64 bit128 bit • 256 bit • 512 bit • bit variable
• Ejecución (ciclo de instrucción)

Segmentación (pipelining): Bubble, Operand forwarding
• Ejecución fuera de orden (out-of-order): Renombre de registros
• Ejecución especulativa: predictor de saltos (branch predictor), predicción de dependencia de memoria
• Riesgo (Hazards)

• Computación paralela
• Paralelismo a nivel de Bit: bit-serial, palabra
• Paralelismo a nivel de Instrucción: escalar, superescalar
• Paralelismo de Datos: vector
• Paralelismo a nivel de Memoria (MLP)
• Paralelismo a nivel de Tareas: hilo de ejecución (thread)
• Multihilo
• Temporal multithreading
• Simultaneous multithreading: HyperThreading
• Taxonomía de Flynn
• SISD
• SIMD
• MISD
• MIMD (SPMD)
• Modos de direccionamiento (addressing mode)
• Tipos
Procesador digital de señales (DSP)
GPGPU
• Microcontrolador
• Unidad de procesamiento físico (PPU)
• System on a chip (SoC)
• Celular (cellular architecture)
• Componentes

• Unidad de generación de direcciones (address generation unit o AGU)
Unidad aritmético lógica (UAL o ALU)
• Barrel shifter
Unidad de coma flotante (floating-point unit o FPU)
• Bus trasero (back-side bus): multiplexor, demultiplexor
• Registros
• Unidad de gestión de memoria (MMU)
Translation lookaside buffer (TLB)
Caché de CPU
• Archivo de registro (register file)
Microcódigo
Unidad de Control (CU)
Frecuencia de reloj (clock rate)

• Gestión de energía
• APM
• ACPI
• Escala de frecuencia dinámica (Dynamic frequency scaling)
• Escala de tensión dinámica (Dynamic voltage scaling)
• Gating de reloj (clock gating)
• Seguridad por hardware de CPU

• NX bit
• Restricción de hardware (firmware)
• Trusted Execution Technology (Intel TXT)
• Critoprocesador seguro (Secure cryptoprocessor)
• Módulo de seguridad de hardware (HSM)
• Hengzhi chip






Autor: Leandro Alegsa
Actualizado: 25-06-2023

¿Cómo citar este artículo?

Alegsa, Leandro. (2023). Definición de Translation Lookaside Buffer. Recuperado de https://www.alegsa.com.ar/Dic/translation_lookaside_buffer.php

Diccionario informático



 


articulos
Asistente IA
Escribe tu consulta sobre informática y tecnologías al asistente de Inteligencia Artificial
¡te responderá en segundos!




* ACLARACIÓN: el asistente ha sido entrenado para responder tus dudas con muy buenos resultados, pero puede equivocarse, esta tecnología aún está en desarrollo. Te sugiero dejar tu email para que te contactemos para corregir la respuesta de la IA: leemos todas las consultas y respuestas.


Usa nuestro buscador para definiciones, informática y tecnologías